package com.dragon.modules.yuegou.query.wallet;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dragon.modules.yuegou.entity.wallet.CardPayConfigEntity;
import com.dragon.modules.yuegou.mybatis.Condition;
import com.dragon.modules.yuegou.mybatis.Query;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonUnwrapped;

/**
 * 实体卡付款信息 动态查询条件
 * 
 * @author pbuilder generated
 * @date 2021-03-22 09:05:28
 * @version 2.0
 */
@JsonInclude(Include.NON_NULL)
public class CardPayConfigQuery extends CardPayConfigEntity implements Query<CardPayConfigEntity> {

    /** 查询条件 */
	@JsonUnwrapped(prefix = "id")
	private Condition<String> idCondition;

    /** 收款方公司名查询条件 */
	@JsonUnwrapped(prefix = "payeeName")
	private Condition<String> payeeNameCondition;

    /** 收款银行code查询条件 */
	@JsonUnwrapped(prefix = "payeeBankCode")
	private Condition<String> payeeBankCodeCondition;

    /** 收款银行名查询条件 */
	@JsonUnwrapped(prefix = "payeeBankName")
	private Condition<String> payeeBankNameCondition;

    /** 收款账号查询条件 */
	@JsonUnwrapped(prefix = "payeeBankAccount")
	private Condition<String> payeeBankAccountCondition;

    /** 联系人查询条件 */
	@JsonUnwrapped(prefix = "payeeContact")
	private Condition<String> payeeContactCondition;

    /** 联系方式查询条件 */
	@JsonUnwrapped(prefix = "payeePhone")
	private Condition<String> payeePhoneCondition;

    /** 备注查询条件 */
	@JsonUnwrapped(prefix = "remark")
	private Condition<String> remarkCondition;

	/**
	 * 构造一个查询条件对象
	 */
	public CardPayConfigQuery() {
		super();
	}

	/**
	 * 依据实体对象构造一个查询条件对象
	 * 
	 * @param entity 实体对象
	 */
	public CardPayConfigQuery(CardPayConfigEntity entity) {
		super(entity);
	}

	/**
	 * 依据其它查询条件对象的信息构造一个查询条件对象
	 * 
	 * @param other 查询条件对象
	 */
	public CardPayConfigQuery(CardPayConfigQuery other) {
		super(other);
		if(other.idCondition != null) {
			this.idCondition = other.idCondition.copy();
		}
		if(other.payeeNameCondition != null) {
			this.payeeNameCondition = other.payeeNameCondition.copy();
		}
		if(other.payeeBankCodeCondition != null) {
			this.payeeBankCodeCondition = other.payeeBankCodeCondition.copy();
		}
		if(other.payeeBankNameCondition != null) {
			this.payeeBankNameCondition = other.payeeBankNameCondition.copy();
		}
		if(other.payeeBankAccountCondition != null) {
			this.payeeBankAccountCondition = other.payeeBankAccountCondition.copy();
		}
		if(other.payeeContactCondition != null) {
			this.payeeContactCondition = other.payeeContactCondition.copy();
		}
		if(other.payeePhoneCondition != null) {
			this.payeePhoneCondition = other.payeePhoneCondition.copy();
		}
		if(other.remarkCondition != null) {
			this.remarkCondition = other.remarkCondition.copy();
		}
	}

	@Override
	public QueryWrapper<CardPayConfigEntity> toQueryWrapper() {
		QueryWrapper<CardPayConfigEntity> wrapper = new QueryWrapper<>(this);
		if (idCondition != null) {
			idCondition.toWrapper(wrapper, COL_ID);
		}
		if (payeeNameCondition != null) {
			payeeNameCondition.toWrapper(wrapper, COL_PAYEE_NAME);
		}
		if (payeeBankCodeCondition != null) {
			payeeBankCodeCondition.toWrapper(wrapper, COL_PAYEE_BANK_CODE);
		}
		if (payeeBankNameCondition != null) {
			payeeBankNameCondition.toWrapper(wrapper, COL_PAYEE_BANK_NAME);
		}
		if (payeeBankAccountCondition != null) {
			payeeBankAccountCondition.toWrapper(wrapper, COL_PAYEE_BANK_ACCOUNT);
		}
		if (payeeContactCondition != null) {
			payeeContactCondition.toWrapper(wrapper, COL_PAYEE_CONTACT);
		}
		if (payeePhoneCondition != null) {
			payeePhoneCondition.toWrapper(wrapper, COL_PAYEE_PHONE);
		}
		if (remarkCondition != null) {
			remarkCondition.toWrapper(wrapper, COL_REMARK);
		}
		return wrapper;
	}

	/**
	 * 构造并返回查询条件
	 * 
	 * @return idCondition 查询条件
	 */
	public Condition<String> id() {
		this.idCondition = new Condition<>();
		return this.idCondition;
	}
	
	/**
	 * 获取查询条件
	 * 
	 * @return idCondition 查询条件
	 */
	public Condition<String> getIdCondition() {
		return idCondition;
	}

	/**
	 * 设置查询条件
	 * 
	 * @param idCondition 查询条件
	 */
	public void setIdCondition(Condition<String> idCondition) {
		this.idCondition = idCondition;
	}

	/**
	 * 构造并返回收款方公司名查询条件
	 * 
	 * @return payeeNameCondition 收款方公司名查询条件
	 */
	public Condition<String> payeeName() {
		this.payeeNameCondition = new Condition<>();
		return this.payeeNameCondition;
	}
	
	/**
	 * 获取收款方公司名查询条件
	 * 
	 * @return payeeNameCondition 收款方公司名查询条件
	 */
	public Condition<String> getPayeeNameCondition() {
		return payeeNameCondition;
	}

	/**
	 * 设置收款方公司名查询条件
	 * 
	 * @param payeeNameCondition 收款方公司名查询条件
	 */
	public void setPayeeNameCondition(Condition<String> payeeNameCondition) {
		this.payeeNameCondition = payeeNameCondition;
	}

	/**
	 * 构造并返回收款银行code查询条件
	 * 
	 * @return payeeBankCodeCondition 收款银行code查询条件
	 */
	public Condition<String> payeeBankCode() {
		this.payeeBankCodeCondition = new Condition<>();
		return this.payeeBankCodeCondition;
	}
	
	/**
	 * 获取收款银行code查询条件
	 * 
	 * @return payeeBankCodeCondition 收款银行code查询条件
	 */
	public Condition<String> getPayeeBankCodeCondition() {
		return payeeBankCodeCondition;
	}

	/**
	 * 设置收款银行code查询条件
	 * 
	 * @param payeeBankCodeCondition 收款银行code查询条件
	 */
	public void setPayeeBankCodeCondition(Condition<String> payeeBankCodeCondition) {
		this.payeeBankCodeCondition = payeeBankCodeCondition;
	}

	/**
	 * 构造并返回收款银行名查询条件
	 * 
	 * @return payeeBankNameCondition 收款银行名查询条件
	 */
	public Condition<String> payeeBankName() {
		this.payeeBankNameCondition = new Condition<>();
		return this.payeeBankNameCondition;
	}
	
	/**
	 * 获取收款银行名查询条件
	 * 
	 * @return payeeBankNameCondition 收款银行名查询条件
	 */
	public Condition<String> getPayeeBankNameCondition() {
		return payeeBankNameCondition;
	}

	/**
	 * 设置收款银行名查询条件
	 * 
	 * @param payeeBankNameCondition 收款银行名查询条件
	 */
	public void setPayeeBankNameCondition(Condition<String> payeeBankNameCondition) {
		this.payeeBankNameCondition = payeeBankNameCondition;
	}

	/**
	 * 构造并返回收款账号查询条件
	 * 
	 * @return payeeBankAccountCondition 收款账号查询条件
	 */
	public Condition<String> payeeBankAccount() {
		this.payeeBankAccountCondition = new Condition<>();
		return this.payeeBankAccountCondition;
	}
	
	/**
	 * 获取收款账号查询条件
	 * 
	 * @return payeeBankAccountCondition 收款账号查询条件
	 */
	public Condition<String> getPayeeBankAccountCondition() {
		return payeeBankAccountCondition;
	}

	/**
	 * 设置收款账号查询条件
	 * 
	 * @param payeeBankAccountCondition 收款账号查询条件
	 */
	public void setPayeeBankAccountCondition(Condition<String> payeeBankAccountCondition) {
		this.payeeBankAccountCondition = payeeBankAccountCondition;
	}

	/**
	 * 构造并返回联系人查询条件
	 * 
	 * @return payeeContactCondition 联系人查询条件
	 */
	public Condition<String> payeeContact() {
		this.payeeContactCondition = new Condition<>();
		return this.payeeContactCondition;
	}
	
	/**
	 * 获取联系人查询条件
	 * 
	 * @return payeeContactCondition 联系人查询条件
	 */
	public Condition<String> getPayeeContactCondition() {
		return payeeContactCondition;
	}

	/**
	 * 设置联系人查询条件
	 * 
	 * @param payeeContactCondition 联系人查询条件
	 */
	public void setPayeeContactCondition(Condition<String> payeeContactCondition) {
		this.payeeContactCondition = payeeContactCondition;
	}

	/**
	 * 构造并返回联系方式查询条件
	 * 
	 * @return payeePhoneCondition 联系方式查询条件
	 */
	public Condition<String> payeePhone() {
		this.payeePhoneCondition = new Condition<>();
		return this.payeePhoneCondition;
	}
	
	/**
	 * 获取联系方式查询条件
	 * 
	 * @return payeePhoneCondition 联系方式查询条件
	 */
	public Condition<String> getPayeePhoneCondition() {
		return payeePhoneCondition;
	}

	/**
	 * 设置联系方式查询条件
	 * 
	 * @param payeePhoneCondition 联系方式查询条件
	 */
	public void setPayeePhoneCondition(Condition<String> payeePhoneCondition) {
		this.payeePhoneCondition = payeePhoneCondition;
	}

	/**
	 * 构造并返回备注查询条件
	 * 
	 * @return remarkCondition 备注查询条件
	 */
	public Condition<String> remark() {
		this.remarkCondition = new Condition<>();
		return this.remarkCondition;
	}
	
	/**
	 * 获取备注查询条件
	 * 
	 * @return remarkCondition 备注查询条件
	 */
	public Condition<String> getRemarkCondition() {
		return remarkCondition;
	}

	/**
	 * 设置备注查询条件
	 * 
	 * @param remarkCondition 备注查询条件
	 */
	public void setRemarkCondition(Condition<String> remarkCondition) {
		this.remarkCondition = remarkCondition;
	}

}
